import { api } from './request'

/**
 * 角色管理相关API接口
 */
export const roleApi = {
  /**
   * 获取角色列表
   * @param params 查询参数
   */
  getRoleList: (params: {
    page: number
    pageSize: number
    name?: string
    code?: string
    status?: number
  }) => {
    return api.get('/role/list', params)
  },

  /**
   * 获取所有角色
   */
  getAllRoles: () => {
    return api.get('/role/all')
  },

  /**
   * 添加角色
   * @param data 角色数据
   */
  addRole: (data: {
    name: string
    code: string
    description?: string
    status: number
    permissionIds: number[]
  }) => {
    return api.post('/role/add', data)
  },

  /**
   * 编辑角色
   * @param data 角色数据
   */
  updateRole: (data: {
    id: number
    name: string
    code: string
    description?: string
    status: number
    permissionIds: number[]
  }) => {
    return api.put('/role/update', data)
  },

  /**
   * 删除角色
   * @param id 角色ID
   */
  deleteRole: (id: number) => {
    return api.delete(`/role/delete/${id}`)
  }
}